package org.zoomdev.zoom.dao.impl;

import org.zoomdev.zoom.common.expression.Symbol;
import org.zoomdev.zoom.dao.Select;
import org.zoomdev.zoom.dao.Sql;

import java.util.Collection;

public class SqlBuilderImpl implements Sql<Sql> {


    @Override
    public Sql set(String key, Object value) {
        return this;
    }

    @Override
    public Sql into(String table, String... fields) {
        return this;
    }

    @Override
    public Sql replace(String table, String... fields) {
        return this;
    }

    @Override
    public Sql values(Object... args) {
        return this;
    }

    @Override
    public Sql select(Select select) {
        return this;
    }

    @Override
    public Sql onDuplicateKeyUpdate() {
        return this;
    }

    @Override
    public Sql select(String select) {
        return null;
    }

    @Override
    public Sql from(String table) {
        return this;
    }

    @Override
    public Sql limit(int limit) {
        return this;
    }

    @Override
    public Sql limit(int position, int limit) {
        return this;
    }

    @Override
    public Sql orderBy(String key, Sort sort) {
        return this;
    }

    @Override
    public Sql groupBy(String key) {
        return this;
    }

    @Override
    public Sql having(String key, Symbol symbol, Object value) {
        return this;
    }

    @Override
    public Sql join(String table, String on) {
        return this;
    }


    @Override
    public Sql join(String table, String on, JoinType type) {
        return this;
    }

    @Override
    public Sql union(Select select) {
        return this;
    }

    @Override
    public Sql unionAll(Select select) {
        return this;
    }

    @Override
    public Sql where(String key, Object value) {
        return this;
    }

    @Override
    public Sql where(String key, Symbol symbol, Object value) {
        return this;
    }

    @Override
    public Sql where(Condition condition) {
        return this;
    }

    @Override
    public <E> Sql whereIn(String key, Iterable<E> values) {
        return this;
    }

    @Override
    public Sql where(String key) {
        return this;
    }

    @Override
    public <E> Sql whereIn(String key, Collection<E> values) {
        return this;
    }

    @Override
    public <E> Sql whereIn(String key, Select select) {
        return this;
    }

    @Override
    public Sql whereNotNull(String key) {
        return this;
    }

    @Override
    public Sql whereNull(String key) {
        return this;
    }

    @Override
    public Sql like(String key, Like like, Object value) {
        return this;
    }

    @Override
    public Sql orWhere(Condition condition) {
        return this;
    }

    @Override
    public Sql orWhere(String key, Object value) {
        return this;
    }

    @Override
    public Sql orLike(String key, Like like, Object value) {
        return this;
    }

    @Override
    public Sql exists(Select select) {
        return this;
    }


}
